#include "hub.h"

Hub::Hub(QObject *parent) :
  QObject(parent) {

}

// Добавление входного потока
// предусловие: номер потока должен быть реалистичным
void Hub::addInFlow(int flow) {
  if (flow <= 0) // проверка предусловия
    error("Hub::addInFlow: '" + QString::number(flow) + "' не реалистичный номер потока.");

  inFlows.append(flow);
}

// Добавление выходного потока
// предусловие: номер потока должен быть реалистичным
void Hub::addOutFlow(int flow) {
  if (flow <= 0) // проверка предусловия
    error("Hub::addOutFlow: '" + QString::number(flow) + "' не реалистичный номер потока.");

  outFlows.append(flow);
}

// Добавление входного канала
// предусловие: адресс канала должен быть реалистичным
void Hub::addInChannel(/*const*/ Channel *channel) {
  if (channel == NULL) // проверка предусловия
    error("Hub::addInChannel: получен нулевой указатель.");

  inChannels.append(channel);
}

// Назначить выходной канал
// предусловие: адресс канала должен быть реалистичным
void Hub::setOutChannel(/*const*/ Channel *channel) {
  if (channel == NULL) // проверка предусловия
    error("Hub::setOutChannel: получен нулевой указатель.");

  outChannel = channel;
}
